package com.kmzx.one.project.service;

import com.kmzx.one.project.others.dto.*;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

// service find 前缀
// mapper select前缀
public interface ProdService extends BaseService {

    // 1
    List<ProdCateOutInfo> findCateAll(String userId) throws Exception;

    // 2.
    List<ProdOutInfo> findProdByCateIdPager() throws Exception;

    //
    // 3.1查看商品的主要信息
    ProdMainInfo findProdMainInfo(String productId, String userId) throws Exception;

    ProdMainInfo findProdMainInfo2(String productId, String userId, Integer fast) throws Exception;

    // 4.展示商品的 颜色,尺码 等详细信息
    ProdSpecsInfo findProdEntryInfo(String productId, String userId, String fastId, int outInner, String real) throws Exception;

    // 5.
    String doShareGoods(String userId, String productId, String fast) throws Exception;

    // 6.
    Map<String, String> doSceneToProduct(String scene) throws Exception;

    // 7.
    // 直升商品专区
    // 直升商品的商品主要信息
    FastZoneInfo findStraightListProduct(String fastId, String userId, Integer pageNum, Integer pageSize) throws Exception;

    // 直升商品详情页,顶部信息
    FastProdMainInfo selectFastProdMainInfo(String prodId, String skuId, String userId);


    // 直升专区
    FastZoneOutInfo findFastZone(String userId);


    List<TempActiveInfo> findTempActiveInfo(String userId);

    // 计算商品的关税
    BigDecimal toComputeProdTax(List<ProdSkuTaxInfo> skuInfo, String userId);

    void hiddenUserProdSearchHistory(String[] items, String userId);

    ProdSearchArrayInfo findUserProdSearchArrayInfo(String userId);

    List<ProdOutInfo> findProdBySearch(String prodName, Integer sorts, String userId, Integer pageNum, Integer pageSize) throws Exception;

    ProductActivityInfo findProductActivityInfo(String userId);

    GreatBrandMain findActivityMainInfo(String userId) throws Exception;

    List<String> findCateImgs(String cateId);

}
